8037dd4c: 27 bd ff d8  ADDIU sp, sp, 0xffffffd8 (-40)
8037dd50: af bf 00 1c  SW ra, sp, 0x1c (28)

8037dd54: 3c 0e 80 39  LUI t6, 0x8039 (32825)
8037dd58: 8d ce bd 80  LW t6, t6, 0xffffbd80 (-17024)
8037dd5c: 85 cf 00 02  LH t7, t6, 0x2 (2)
8037dd60: a3 af 00 23  SB t7, sp, 0x23 (35)                [sp + 0x23] = (*(0x8038bd80))->off0x02

8037dd64: 3c 18 80 39  LUI t8, 0x8039 (32825)
8037dd68: 8f 18 bd 80  LW t8, t8, 0xffffbd80 (-17024)
8037dd6c: 87 19 00 04  LH t9, t8, 0x4 (4)
8037dd70: a3 b9 00 22  SB t9, sp, 0x22 (34)                [sp + 0x22] = (*(0x8038bd80))->off0x04

8037dd74: 3c 08 80 39  LUI t0, 0x8039 (32825)
8037dd78: 8d 08 bd 80  LW t0, t0, 0xffffbd80 (-17024)
8037dd7c: 85 09 00 06  LH t1, t0, 0x6 (6)
8037dd80: a7 a9 00 20  SH t1, sp, 0x20 (32)                [sp + 0x20] = (*(0x8038bd80))->off0x06

8037dd84: 93 aa 00 23  LBU t2, sp, 0x23 (35)
8037dd88: 3c 04 80 39  LUI a0, 0x8039 (32825)
8037dd8c: 8c 84 bc a0  LW a0, a0, 0xffffbca0 (-17248)
8037dd90: 00 00 28 25  OR a1, r0, r0
8037dd94: 87 a6 00 20  LH a2, sp, 0x20 (32)
8037dd98: 93 a7 00 22  LBU a3, sp, 0x22 (34)
8037dd9c: 0c 0d ef 49  JAL 0x8037bd24 (-2143830748)        [sp + 0x24] = 0x8037bd24(*(0x8038bac0), 0, [sp + 0x20], [sp + 0x22], [sp + 0x23])
8037dda0: af aa 00 10  SW t2, sp, 0x10 (16)
8037dda4: af a2 00 24  SW v0, sp, 0x24 (36)

8037dda8: 0c 0d f3 1d  JAL 0x8037cc74 (-2143826828)        0x8037cc74([sp + 0x24])
8037ddac: 8f a4 00 24  LW a0, sp, 0x24 (36)

8037ddb0: 3c 0b 80 39  LUI t3, 0x8039 (32825)
8037ddb4: 8d 6b bd 80  LW t3, t3, 0xffffbd80 (-17024)
8037ddb8: 3c 01 80 39  LUI at, 0x8039 (32825)
8037ddbc: 25 6c 00 08  ADDIU t4, t3, 0x8 (8)
8037ddc0: ac 2c bd 80  SW t4, at, 0xffffbd80 (-17024)      /* (adv wp) */

8037ddc4: 10 00 00 01  BEQ r0, r0, 0x8037ddcc (pc + 0x4)
8037ddc8: 00 00 00 00  NOP

8037ddcc: 8f bf 00 1c  LW ra, sp, 0x1c (28)
8037ddd0: 27 bd 00 28  ADDIU sp, sp, 0x28 (40)
8037ddd4: 03 e0 00 08  JR ra
8037ddd8: 00 00 00 00  NOP


/***************************************/

8037bd24: 27 bd ff e8  ADDIU sp, sp, 0xffffffe8 (-24)
8037bd28: af bf 00 14  SW ra, sp, 0x14 (20)
8037bd2c: af a4 00 18  SW a0, sp, 0x18 (24)                       arg1 === [sp + 0x18]
8037bd30: af a5 00 1c  SW a1, sp, 0x1c (28)                       arg2 === [sp + 0x1c]
8037bd34: af a6 00 20  SW a2, sp, 0x20 (32)                       arg3 === [sp + 0x20] ([sp + 0x22])
8037bd38: af a7 00 24  SW a3, sp, 0x24 (36)                       arg4 === [sp + 0x24] ([sp + 0x27])
8037bd3c: 8f ae 00 18  LW t6, sp, 0x18 (24)                       arg5 === [sp + 0x28] ([sp + 0x2b])

8037bd40: 11 c0 00 05  BEQ r0, t6, 0x8037bd58 (pc + 0x14)     if (!arg1) goto 0x8037bd58;
8037bd44: 00 00 00 00  NOP

8037bd48: 8f a4 00 18  LW a0, sp, 0x18 (24)
8037bd4c: 0c 09 e2 ae  JAL 0x80278ab8 (-2144892232)           arg2 = 0x80278ab8(arg1, 0x18);
8037bd50: 24 05 00 18  ADDIU a1, r0, 0x18 (24)
8037bd54: af a2 00 1c  SW v0, sp, 0x1c (28)

8037bd58: 8f af 00 1c  LW t7, sp, 0x1c (28)
8037bd5c: 11 e0 00 0d  BEQ r0, t7, 0x8037bd94 (pc + 0x34)     if (!arg2) goto 0x8037bd94;
8037bd60: 00 00 00 00  NOP

8037bd64: 8f a4 00 1c  LW a0, sp, 0x1c (28)
8037bd68: 0c 0d ec 88  JAL 0x8037b220 (-2143833568)           0x8037b220(arg2, 0x28);
8037bd6c: 24 05 00 28  ADDIU a1, r0, 0x28 (40)

8037bd70: 87 b8 00 22  LH t8, sp, 0x22 (34)
8037bd74: 8f b9 00 1c  LW t9, sp, 0x1c (28)
8037bd78: a7 38 00 14  SH t8, t9, 0x14 (20)                   arg2->off0x14 = arg3;

8037bd7c: 93 a8 00 27  LBU t0, sp, 0x27 (39)
8037bd80: 8f a9 00 1c  LW t1, sp, 0x1c (28)
8037bd84: a1 28 00 16  SB t0, t1, 0x16 (22)                   arg2->off0x16 = arg4;

8037bd88: 93 aa 00 2b  LBU t2, sp, 0x2b (43)
8037bd8c: 8f ab 00 1c  LW t3, sp, 0x1c (28)
8037bd90: a1 6a 00 17  SB t2, t3, 0x17 (23)                   arg2->off0x17 = arg5;

8037bd94: 10 00 00 03  BEQ r0, r0, 0x8037bda4 (pc + 0xc)       
8037bd98: 8f a2 00 1c  LW v0, sp, 0x1c (28)                   return arg2;
8037bd9c: 10 00 00 01  BEQ r0, r0, 0x8037bda4 (pc + 0x4)
8037bda0: 00 00 00 00  NOP
8037bda4: 8f bf 00 14  LW ra, sp, 0x14 (20)
8037bda8: 27 bd 00 18  ADDIU sp, sp, 0x18 (24)
8037bdac: 03 e0 00 08  JR ra
8037bdb0: 00 00 00 00  NOP


{
    if (arg1) {
        arg2 = 0x80278ab8(arg1, 0x18);
    }
    if (arg2) {
        0x8037b220(arg2, 0x28);
        arg2->off0x14 = arg3;
        arg2->off0x16 = arg4;
        arg2->off0x17 = arg5;
    }
    return arg2;
}
